// 导入路由对象
const express = require("express")
const router = express.Router()//创建路由
// 导入控制器类
const Picture = require("../controllers/pictureController")
const pictureObj = new Picture()



// 搜索相册记录
// 请求方式：post
// 参数：keyword
// 请求地址：http://localhost:3001/api/picture/search
router.post('/search', async (req, res) => {
    let keyword = req.body.keyword;
    await pictureObj.search(keyword).then(
        result => {
            res.send(result)
        },
        err => {
            res.send(err)
        }
    )

})

// 插入：
// 添加相册记录
// 请求方式：post
// 参数：photo_title,  photo_url
// 请求地址：http://localhost:3001/api/picture/publish
router.post('/publish', async (req, res) => {
    // 解构赋值
    let { photo_title, photo_url } = req.body;
    if (photo_title == undefined || photo_url == undefined) {
        res.send({
            code: -1,
            msg: "缺少参数",
        })
    }
    else {
        // 调用控制器的方法
        await pictureObj.publish(photo_title, photo_url).then(
            result => {
                res.send(result)
            },
            err => {
                res.send(err)
            }
        )

    }
})

// 修改相册记录
// 请求方式：post
// 参数：photo_title, photo_url ,id
// 请求地址：http://localhost:3001/api/picture/modify
router.post('/modify', async (req, res) => {
    // 解构赋值
    let { photo_title, photo_url, id } = req.body;
    if (photo_title == undefined || photo_url == undefined || id == undefined) {
        res.send({
            code: -1,
            msg: "缺少参数",
        })
    }
    else {
        await pictureObj.modify(photo_title, photo_url, id).then(
            result => {
                res.send(result)
            },
            err => {
                res.send(err)
            }
        )


    }
})

// 删除相册记录
// 请求方式：post
// 参数：id
// 请求地址：http://localhost:3001/api/picture/remove
router.post('/remove', async (req, res) => {
    // 解构赋值
    let { id } = req.body;
    if (id == undefined) {
        res.send({
            code: -1,
            msg: "缺少参数",
        })
    }
    else {
        await pictureObj.remove(id).then(
            result => {
                res.send(result)
            },
            err => {
                res.send(err)
            }
        )

    }
})

// 获取相册分页列表
// 请求方式：post
// 参数：page_num, page_size
// 请求地址：http://localhost:3001/api/picture/items
router.post('/items', async (req, res) => {
    // 解构赋值
    let { page_num, page_size } = req.body;

    page_num = parseInt(page_num)
    page_size = parseInt(page_size)
    if (page_num == undefined || page_size == undefined) {
        res.send({
            code: -1,
            msg: "缺少参数",
        })
    }
    else {
        await pictureObj.items(page_num, page_size).then(
            result => {
                res.send(result)
            },
            err => {
                res.send(err)
            }
        )
    }
})

// 挂载到模块系统上
module.exports = router;